1. Field of the Invention
The present invention relates to a code tracking apparatus and method for receiving multi-path signals in a direct sequence code division multiple access (DS/CDMA) system.
2. Description of the Related Art
It is currently simple to predict the saturation of wireless propagation spectrums due to the proliferation of wireless communication services. Accordingly, it is necessary to develop new wireless communication techniques having superior characteristics in view of frequency efficiency. A code division multiple access (CDMA) scheme may be a representative example of these wireless communication techniques.
In the CDMA scheme, several users simultaneously share a wide spectrum. In other words, the users simultaneously transmit signals modulated in a wide spectrum by using a spread spectrum scheme and find a transmit signal of a desired user by using each code (or sequency). A mobile communication system employing the CDMA scheme has superior security as compared with systems employing other multiple access schemes because transmit data are not easily exposed. The CDMA scheme may be divided into a direct sequence CDMA (DS/CDMA) scheme and a frequency hopping CDMA (FH/CDMA) scheme according to schemes of spreading spectrums.
The DS/CDMA scheme refers to a scheme in which a signal to be transmitted is encoded through a user specific pseudo noise (PN) sequence, thereby spreading a spectrum of the signal so as to convert the signal into a signal having a wide spectrum. Generally, the DS/CDMA scheme enables signal transmission through multi-paths. In the DS/CDMA mobile communication system, a multi-path receiver (rake receiver) decodes multi-path signals received through mutually different paths, thereby obtaining a time diversity effect. To this end, the rake receiver has a plurality of fingers. The fingers are assigned multi-path signals having mutually different time delays through different paths, respectively, and signals having been processed in the fingers are combined with each other, thereby enhancing receive quality.
Hereinafter, a description on the multi-path signals will be given in detail with reference to the accompanying drawings.
FIG. 1A illustrates a simulative pattern of multi-paths in a conventional mobile communication system.
As shown in FIG. 1A, a terminal 40 receives multi-path propagation waves such as a direct wave 10 reaching the terminal 40 from a base station 5 without any obstacles, a reflection wave 30 reaching the terminal 40 after being reflected by the walls of buildings, and the like and a diffracted wave 20 reaching the terminal 40 after being diffracted on the roofs of buildings, etc. There is little probability that the terminal 40 is connected to the base station only through the direct wave 10 under general mobile communication environments. In other words, there are plural reflection waves and plural diffracted waves under typical mobile communication environments. These reflection waves and diffracted waves make multi-paths having different delays.
FIG. 1B is a block diagram illustrating a structure of a multi-path receiver receiving and decoding multi-path signals in a DS/CDMA communication system. The multi-path receiver shown in FIG. 1B is called a “rake receiver”. A rake receiver of the terminal 40 separately receives multi-path signals having mutually different delay times under the same communication environment as shown in FIG. 1A, thereby improving the reception. To this end, the rake receiver includes a detector 120 for detecting multi-path signals, a plurality of fingers 130, 140, and 150 for receiving the multi-path signals detected by the detector 120 and decoding the multi-path signals, respectively, a combiner 160 for combining the multi-path signals decoded by the fingers 130, 140, and 150 with each other, and a controller 110 for controlling operations and states of the detector 120, the fingers 130, 140, and 150, and the combiner 160.
The fingers 130, 140, and 150 include samplers 132, 142, and 152 for providing samples to be used for de-modulators 136, 146, and 156 and code trackers 134, 144, and 154 from the receive signals, the de-modulators 136, 146, and 156 for de-modulating receive signals in the optimum sample positions, and the code trackers 134, 144, and 154 used for matching synchronization with the multi-path signals. Herein, each of the code trackers 134, 144, and 154 is used for finding the optimum sample position using the multi-path signals so that the strength of the signal power may be maximized.
FIG. 2 is a block diagram illustrating an example of a conventional synchronous code tracker.
A sampler 200 performs sampling with respect to multi-path signals and delivers a sample to a code tracker 250. The code tracker 250 detects by using an auto-correlation characteristic of a scrambling code (or a PN code) a difference between a correlation value of an on-time sample and a late-sample and a correlation value of the on-time sample and an early-time sample and moves the position of an on-time sample toward a sample making a larger correlation value, thereby finding the optimum sample position. Generally, a sample position in time when the difference becomes zero is regarded as the optimum sample position.
Specifically, for the code tracker 250, sample signals transferred from the sampler 200 are de-spread by de-scramblers 260 and 270 using a scrambling code generated through a scrambling code generator 255, accumulated by accumulators 265 and 275, and changed into correlation values.
The de-scrambler 260 and the accumulator 265 form an early sample correlator 210, and the de-scrambler 270 and the accumulator 275 form a late sample correlator 220.
The early sample correlator 210 performs correlation with respect to a sample (i.e., an early-time sample) in a position earlier than the position of an on-time sample to be input to a de-modulator and outputs a first correlation value according to the correlation. The late sample correlator 220 performs correlation with respect to a sample (i.e., a late-time sample) in a position later than the position of an on-time sample to be input to a de-modulator and outputs a second correlation value according to the correlation. In code tracking, an interval between n time’ and ‘early time’ or an interval between ‘on time’ and ‘late time’ is usually set to one chip or less, and the interval of 0.5 chip is widely used.
In the embodiment based on FIG. 2, on the assumption that one chip duration is Tc and a delay difference between an on-time sample and a specific sample is Δ, a time difference between the on-time sample and an early-time sample is equal to −0.5 Tc (Δ=−Tc/2) and a time difference between the on-time sample and a late-time sample is equal to 0.5 Tc (Δ=−Tc/2). A correlation value output in the early time is expressed as the first correlation value, R[Δ=−Tc/2], and a correlation value output at the late time is expressed as the second correlation value, R[Δ=Tc/2]. The first correlation value is subtracted from the second correlation value by a subtractor 280. The subtractor 280 detects a timing error 285 due to the correlation difference. Herein, the timing error 285 is equal to ‘R[Δ=Tc/2]−R[Δ=−Tc/2]’ which is a difference between two correlation values.
The timing error 285 is output as a timing control signal used for finding the optimum sample position through a loop filter 290. The optimum sample position obtained as described above is usually dependent on an envelope of a power delay profile of multi-path signals and is convergent to a time point corresponding to a peak value of the envelope.
FIG. 3 is a block diagram illustrating an example of the conventional asynchronous code tracker. A sampler 300 performs sampling with respect to transmitted multi-path signals and delivers a sample signal to a code tracker 350. The sample signals are de-spread by de-scramblers 360 and 370 using a scrambling code generated through a scrambling code generator 355 and accumulated by accumulator 365 and 375.
The de-scrambler 360 and the accumulator 365 form an early sample correlator 310, and the de-scrambler 370 and the accumulator 375 form a late sample correlator 320. The early sample correlator 310 performs correlation with respect to a sample (i.e., an early-time sample) in a position earlier than the position of an on-time sample and outputs a first correlation value. The late sample correlator 320 performs correlation with respect to a sample (i.e., a late-time sample) in a position later than the position of an on-time sample and outputs a second correlation value according to the correlation. Generally, in code tracking, a time difference between the on-time sample and the early-time sample is equal to −0.5 Tc (Δ=−Tc/2) and a time difference between the on-time sample and the late-time sample is equal to 0.5 Tc (Δ=−Tc/2).
In an asynchronous scheme, there is a phase error component due to asynchronization between a base station and a terminal. Therefore, the code tracker removes phase error components from the correlation values by means of power calculators 367 and 369. The first correlation value and the second correlation value having passed through the power calculators 367 and 369 are subtracted by means of a subtractor 380. The subtractor 380 detects a timing error 385 by using the difference between the correlation values. Accordingly, the timing error 385 corresponds to ‘{R[Δ=Tc/2]}2−{R[Δ=−Tc/2]}2’.
The timing error 385 is output as a timing control signal used for finding the optimum sample position through a loop filter 390.
FIG. 4 is a graph illustrating an error detection characteristic of the conventional asynchronous code tracker.
In other words, FIG. 4 illustrates a timing error detection characteristic of an asynchronous code tracker having an interval of 1 Tc between a late-time sample and an early-time sample when a single path channel is employed in a DS/CDMA system using a square root raised cosine filter having a roll-off rate of 0.22 as a root raised cosine filter. Herein, the timing error detection characteristic generally has an S curve or shape. When the timing error has a positive value within the range of 0 Tc to 1.5 Tc, the code tracker moves the position of a sample in a positive direction based on the timing error detection characteristic having the S curve, thereby reducing errors. In contrast, when the timing error has a negative value within the range of −1.5 Tc to 0 Tc, the code tracker moves the position of a sample in a negative direction so that the timing error is convergent to a time point of zero.
FIG. 5 is a graph illustrating auto-correlation power for two multi-paths in the conventional code tracker.
The two fingers employing synchronous code trackers under the multi-path environment shown in FIG. 5 are allocated two path signals at t=0 and t=Td corresponding to two paths, respectively. In the code tracker of the first finger for tracking the first path, early correlation power at an early time corresponds to R[Δ=−Tc/2]=R1 [t=−Tc/2]+R2[t=−Tc/2], and late correlation power at a late time corresponds to R[Δ=Tc/2]=R1[t=Tc/2]+R2[t=Tc/2]. Herein, since the value of R2[t=−Tc/2] is equal to zero, the strength of the late correlation power (R[Δ=Tc/2]) is larger than the strength of the early correlation power (R[Δ=−Tc/2]), and the code tracker moves sample timing toward the late time.
In the code tracker of the second finger for tracking the second path, early correlation power at the early time corresponds to R[Δ=−Tc/2]=R1 [t=Td−Tc/2]+R2[t=Td−Tc/2], and late correlation power at the late time corresponds to R[Δ=Tc/2]=R1 [t=Td+Tc/2]+R2[t=Td+Tc/2]. Herein, since the value of R1[t=Td+Tc/2] is equal to zero, the strength of the late correlation power (R[Δ=Tc/2]) is smaller than the strength of the early correlation power (R[Δ=−Tc/2]), and the code tracker moves sample timing toward the early time.
Accordingly, each of the code trackers included in the two fingers fails to track the optimum sample position of each independent path, but tracks a neighboring path. This tendency increases as time delays (Tds) of the two paths approach each other. In this case, since an interference component is added to an early correlation value at an early time and a late correlation value at a late time in the code trackers, the correlation value when the interference component of a neighboring path is added is relatively larger than a correlation value having a little amount of interference. Accordingly, each code tracker tracking each path moves the sample timing toward the neighboring path, and a timing error is convergent not to a time point of zero but to another time point.
It can be understood that the code tracker performing the operation described above based on the conventional technique allows a timing error to be convergent to a time point of 0.5 under the environment in which paths have the same power strength with an interval of one chip.
In the multi-paths, it becomes easier to achieve convergence for each path, as a time delay between neighboring paths becomes larger and a power difference between the neighboring paths becomes smaller. In contrast, as the time delay becomes smaller and the power difference becomes larger, the multi-paths are recognized as a single path, thereby increasing a probability that each code tracker corresponding to each finger may track the same position. Thus, a fat finger phenomenon in that plural fingers track the same path may occur.
The fat finger phenomenon results in the rake receiver not being able to distinguish and receive multi-path signals having mutually different delays, thereby degrading the receive performance of the rake receiver.